mvc ו-ajax
איך משלבים MVC ו-AJAX?
זה משומה לא מסתדר לי כל כך, כי AJAX דורש טעינה של קובץ בנפרד שלא קשור לתבנית עצמה שכל שהתפקיד שלו מוגדר מראש.
יש דרך לשלב בניהם? או שצריך להמשיך עם הדפים בנפרד?
7 תשובות
בדיוק כמו שאתה משתמש בצורת הכתיבה הרגילה, תשתמש בMVC.
אם אתה יש לך דף עם AJAX שטוען דפים אחרים, פשוט תקבע שהוא יטען את הקונטרולר.
כן אבל לא חבל על על טעינות הקבצים שהוא צריך לעשות וכל שאר הקוד המבובז?
לא עדיף פשוט ליצור לו דף שישלח לי את השאילתה שאני צריך במערך?
איך מMVC הגעת למערך? אולי תסביר בדיוק מה אתה מנסה לעשות, ומה אתה מחשיב לא יעיל.
הכוונה לקבל מערך מה-DB ולהמיר אותו ל-JSON כדי שיהיה קל יותר לעבוד איתו בצד לקוח.
ואני לא מדבר על משהו ספציפי, אני מדבר בכללי.
אני פשוט רוצה להבין לאן צריך לשלוח את הנתונים בדרך הכי יעילה...
אם אתה עד היום היית טוען את כל הדף מחדש באמצעות AJAX, אז תעשה אותו דבר, רק עם MVC.
אבל אם באמצעות הAJAX היית טוען ערכים (כמו כותרת, תוכן, וקישור) ודוחף אותם לאלמנטים הקיימים, אז אל תשתמש בMVC כי אין לך MODEL שאתה מפעיל באמצעות PHP.
במקרה הזה JSON יהיה יעיל יותר.
בעקרון אני משתמש ב-AJAX אך ורק בשביל לטעון מ-PHP דברים שחובה לטעון ב-PHP כמו נתונים מ-DB, קבצים וכו' וכו'.
אבל אני לא טוען סתם לדוגמא דף שלם ומציג באמצעות AJAX (לפי דעתי זה טמטמום).
אני משתמש בד"כ ב-Knockout בשביל לעדכן את ה-JSON שאני מקבל ב-AJAX בזמן אמת. וכמובן גם ששולח נתונים בזמן אמת.
אז לדעתך, צריך להשתמש ב-MVC כדי "להשתלט" על הנתונים שאני מעביר? או שעדיף להכין דפים בנפרד עם מטרה ספציפית?
הרעיון של MVC הוא להפריד את HTML מPHP, ואילו אצלך הם כבר מופרדים, אתה טוען, כמו שציינת, רק נתונים מהDB, ומספר דברים נוספים, ואם אתה עושה את זה עם AJAX, אין כאן מקום לMVC, מכיוון שהמודל כבר בנוי מחוץ לPHP.
במצב כזה, לדעתי עדיף להשתמש בJSON להעברת מידע, במקום לבנות דפי PHP מיותרים.